1. Field of the Invention
The present invention generally relates to computer software. More specifically, the present invention relates to a rendering application configured to generate rendered animation clips from a looping motion space.
2. Description of the Related Art
Rendering tools refer to a broad variety of computer-based tools used by architects, engineers, animators, video game designers, and other graphics and design professionals. Broadly, rendering is the process of generating an image from a model using computer programs. A rendering application may be used to render three-dimensional (3-D) characters. These 3-D characters may be animated by the rendering application.
A highly desirable feature of rendering applications is the ability to generate realistic motion sequences of a moving character, e.g., a man walking or running or a bird in flight. To create a motion sequence, users of a rendering application typically begin with one or more motion clips from which the motion sequence is created. Frequently, motion clips are created using a motion capture system. For example, an actor may wear markers near each joint to identify the motion by the positions or angles between the markers. The markers are then tracked to sub-millimeter positions. Motion capture software records the positions, angles, velocities, accelerations, and impulses, providing an accurate digital representation of the motion.
Creating realistic motion sequences has proven to be challenging. Currently, a common approach to character animation is to use a motion graph. Typically, motion sequences, like those found in video games, use motion graphs to represent a set of possible transitions between motion clips. For example, suppose an animator has two motion clips, one where a character is walking turning gradually 30 degrees to the right, and a second motion clip where a character is walking turning gradually 30 degrees to the left. Using motion graphs, an animator may create a motion sequence where the character transitions from walking gradually to the right to walking gradually to the left. This approach has several shortcomings, for example, the motion graph limits the animator to only a fixed set of variations that may be sequenced in different orders.
Further, the motion clips are of a finite length, and when looped to create a longer sequence, prior art techniques have been unable to generate realistic transitions between instances of the motion clip. One approach to avoid this result is to avoid looping sequences completely. However, not using looping for common sequences, especially sequences with repeating cycles, consumes valuable computational resources. A second approach has been to use a variation of the traditional motion graph approach that depends on finding single matching transition frame poses within the participating clips. This approach essentially blends the end of one motion clip with the beginning of the next. Typically, loops of the clips are blended as a frame-to-frame linear time “dissolve” across the transition, and since the motions are not time warped to be in phase, the character may appear to jump, slide or otherwise engage in some non-realistic motion. Thus, this approach suffers from the same artifacts of traditional motion graph approaches; namely, a transition with motion that appears unrealistic.
Accordingly, there remains the need in the art for a technique for generating realistic looping motion space for real-time character animation.